package com.net.io.nio.three.component.buffer;

/**
 * @author zhangtengfei
 * @date 2022/1/27 14:05
 */
/*
public abstract class Buffer {
    //JDK1.4时，引入的api
    //返回此缓冲区的容量
    public final int capacity()

    //返回此缓冲区的位置
    public final int position()
    //设置此缓冲区的位置
    public final Buffer position(int newPosition)

    //返回此缓冲区的限制
    public final int limit()
    //设置此缓冲区的限制
    public final Buffer limit(int newLimit)

    //在此缓冲区的位置设置标记
    public final Buffer mark()
    //将此缓冲区的位置重置为以前标记的位置
    public final Buffer reset()
        
    //清除此缓冲区, 即将各个标记恢复到初始状态，但是数据并没有真正擦除, 后面操作会覆盖
    public final Buffer clear()
    //反转此缓冲区
    public final Buffer flip()
    //重绕此缓冲区
    public final Buffer rewind()
        
    //返回当前位置与限制之间的元素数
    public final int remaining()
    //告知在当前位置和限制之间是否有元素
    public final boolean hasRemaining()
    //告知此缓冲区是否为只读缓冲区
    public abstract boolean isReadOnly()

    //JDK1.6时引入的api
    //告知此缓冲区是否具有可访问的底层实现数组
    public abstract boolean hasArray()
    //返回此缓冲区的底层实现数组
    public abstract Object array()
    //返回此缓冲区的底层实现数组中第一个缓冲区元素的偏移量
    public abstract int arrayOffset()
    //告知此缓冲区是否为直接缓冲区
    public abstract boolean isDirect()
}
*/
